<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>路由基础案例</title>
</head>

<body>
  <div id="app">
    <h1>Hello Vue Router</h1>
    <!-- 定义两个路由链接 -->
    <router-link to="/login">登录组件</router-link>
    <router-link to="/reg">注册组件</router-link>
    <hr>
    <div>
      <div>
        <router-view></router-view>
      </div>
    </div>
  </div>
  <script src="../js/vue.js"></script>
  <script src="../js/vue-router.js"></script>
  <script>
    /* 
      推荐：
        1、组件变量名：首字母大写
        2、路径：以/开头，小写
        3、命名路由(name)；小写
    */
    // 1、定义组件(组件配置项,组件配置对象)
    let Login = {
      template: `<div><h1>登录组件<h1/></div>`
    }
    let Register = {
      template: `<div><h1>注册组件<h1/></div>`
    }

    /* 
      2、定义路由列表
        在routes里面配置每一个路由，每一个路由就是一个对象
        path:表示路由路径，字符串；需要以/开头
        component：表示路由对应的组件
    */
    // let loginRoute = {path:'/login',component:Login} //相当于一个路由，没有必要这么写
    let routes = [{
        path: '/login',
        component: Login
      },
      {
        path: '/reg', //路径名可以自定义
        component: Register //对应的组件
      }
    ]

    // 3、创建路由器实例，当引入vue-router.js文件时，VueRouter就成为全局函数
    let router = new VueRouter({
      // 配置路由列表
      routes: routes, //配置项的名称routes,配置名是routes(前者)，拿取的是routes(后者,是x也行)
      routes //ES6语法的简写形式
    })

    // 4、将创建好的router实例，绑定给vue实例的router属性
    let vm = new Vue({
      el: '#app',
      data: {

      },
      // 绑定路由器
      router,
    })
  </script>
</body>

</html>